165 research outputs found

    A Constructive Framework for Galois Connections

    Full text link
    Abstract interpretation-based static analyses rely on abstract domains of program properties, such as intervals or congruences for integer variables. Galois connections (GCs) between posets provide the most widespread and useful formal tool for mathematically specifying abstract domains. Recently, Darais and Van Horn [2016] put forward a notion of constructive Galois connection for unordered sets (rather than posets), which allows to define abstract domains in a so-called mechanized and calculational proof style and therefore enables the use of proof assistants like Coq and Agda for automatically extracting verified algorithms of static analysis. We show here that constructive GCs are isomorphic, in a precise and comprehensive meaning including sound abstract functions, to so-called partitioning GCs--an already known class of GCs which allows to cast standard set partitions as an abstract domain. Darais and Van Horn [2016] also provide a notion of constructive GC for posets, which we prove to be isomorphic to plain GCs and therefore lose their constructive attribute. Drawing on these findings, we put forward and advocate the use of purely partitioning GCs, a novel class of constructive abstract domains for a mechanized approach to abstract interpretation. We show that this class of abstract domains allows us to represent a set partition with more flexibility while retaining a constructive approach to Galois connections

    Abstracting Nash equilibria of supermodular games

    Get PDF
    Supermodular games are a well known class of noncooperative games which find significant applications in a variety of models, especially in operations research and economic applications. Supermodular games always have Nash equilibria which are characterized as fixed points of multivalued functions on complete lattices. Abstract interpretation is here applied to set up an approximation framework for Nash equilibria of supermodular games. This is achieved by extending the theory of abstract interpretation in order to cope with approximations of multivalued functions and by providing some methods for abstracting supermodular games, thus obtaining approximate Nash equilibria which are shown to be correct within the abstract interpretation framework

    A new characterization of complete Heyting and co-Heyting algebras

    Full text link
    We give a new order-theoretic characterization of a complete Heyting and co-Heyting algebra CC. This result provides an unexpected relationship with the field of Nash equilibria, being based on the so-called Veinott ordering relation on subcomplete sublattices of CC, which is crucially used in Topkis' theorem for studying the order-theoretic stucture of Nash equilibria of supermodular games.Comment: To appear in Logical Methods in Computer Scienc

    Generalizing the Paige-Tarjan Algorithm by Abstract Interpretation

    Full text link
    The Paige and Tarjan algorithm (PT) for computing the coarsest refinement of a state partition which is a bisimulation on some Kripke structure is well known. It is also well known in model checking that bisimulation is equivalent to strong preservation of CTL, or, equivalently, of Hennessy-Milner logic. Drawing on these observations, we analyze the basic steps of the PT algorithm from an abstract interpretation perspective, which allows us to reason on strong preservation in the context of generic inductively defined (temporal) languages and of possibly non-partitioning abstract models specified by abstract interpretation. This leads us to design a generalized Paige-Tarjan algorithm, called GPT, for computing the minimal refinement of an abstract interpretation-based model that strongly preserves some given language. It turns out that PT is a straight instance of GPT on the domain of state partitions for the case of strong preservation of Hennessy-Milner logic. We provide a number of examples showing that GPT is of general use. We first show how a well-known efficient algorithm for computing stuttering equivalence can be viewed as a simple instance of GPT. We then instantiate GPT in order to design a new efficient algorithm for computing simulation equivalence that is competitive with the best available algorithms. Finally, we show how GPT allows to compute new strongly preserving abstract models by providing an efficient algorithm that computes the coarsest refinement of a given partition that strongly preserves the language generated by the reachability operator.Comment: Keywords: Abstract interpretation, abstract model checking, strong preservation, Paige-Tarjan algorithm, refinement algorith

    Generalized Strong Preservation by Abstract Interpretation

    Full text link
    Standard abstract model checking relies on abstract Kripke structures which approximate concrete models by gluing together indistinguishable states, namely by a partition of the concrete state space. Strong preservation for a specification language L encodes the equivalence of concrete and abstract model checking of formulas in L. We show how abstract interpretation can be used to design abstract models that are more general than abstract Kripke structures. Accordingly, strong preservation is generalized to abstract interpretation-based models and precisely related to the concept of completeness in abstract interpretation. The problem of minimally refining an abstract model in order to make it strongly preserving for some language L can be formulated as a minimal domain refinement in abstract interpretation in order to get completeness w.r.t. the logical/temporal operators of L. It turns out that this refined strongly preserving abstract model always exists and can be characterized as a greatest fixed point. As a consequence, some well-known behavioural equivalences, like bisimulation, simulation and stuttering, and their corresponding partition refinement algorithms can be elegantly characterized in abstract interpretation as completeness properties and refinements

    Incompleteness of States w.r.t. Traces in Model Checking

    Get PDF
    Cousot and Cousot introduced and studied a general past/future-time specification language, called mu*-calculus, featuring a natural time-symmetric trace-based semantics. The standard state-based semantics of the mu*-calculus is an abstract interpretation of its trace-based semantics, which turns out to be incomplete (i.e., trace-incomplete), even for finite systems. As a consequence, standard state-based model checking of the mu*-calculus is incomplete w.r.t. trace-based model checking. This paper shows that any refinement or abstraction of the domain of sets of states induces a corresponding semantics which is still trace-incomplete for any propositional fragment of the mu*-calculus. This derives from a number of results, one for each incomplete logical/temporal connective of the mu*-calculus, that characterize the structure of models, i.e. transition systems, whose corresponding state-based semantics of the mu*-calculus is trace-complete

    Logical Characterizations of Behavioral Relations on Transition Systems of Probability Distributions

    Get PDF
    Probabilistic nondeterministic processes are commonly modeled as probabilistic LTSs (PLTSs). A number of logical characterizations of the main behavioral relations on PLTSs have been studied. In particular, Parma and Segala [2007] and Hermanns et al. [2011] define a probabilistic Hennessy-Milner logic interpreted over probability distributions, whose corresponding logical equivalence/preorder when restricted to Dirac distributions coincide with standard bisimulation/simulation between the states of a PLTS. This result is here extended by studying the full logical equivalence/preorder between (possibly non-Dirac) distributions in terms of a notion of bisimulation/simulation defined on a LTS whose states are distributions (dLTS). We show that the well-known spectrum of behavioral relations on nonprobabilistic LTSs as well as their corresponding logical characterizations in terms of Hennessy-Milner logic scales to the probabilistic setting when considering dLTSs

    An Abstract Interpretation-based Model of Tracing Just-In-Time Compilation

    Get PDF
    Tracing just-in-time compilation is a popular compilation technique for the efficient implementation of dynamic languages, which is commonly used for JavaScript, Python and PHP. We provide a formal model of tracing JIT compilation of programs using abstract interpretation. Hot path detection corresponds to an abstraction of the trace semantics of the program. The optimization phase corresponds to a transform of the original program that preserves its trace semantics up to an observation modeled by some abstraction. We provide a generic framework to express dynamic optimizations and prove them correct. We instantiate it to prove the correctness of dynamic type specialization and constant variable folding. We show that our framework is more general than the model of tracing compilation introduced by Guo and Palsberg [2011] based on operational bisimulations.Comment: To appear in ACM Transactions on Programming Languages and System

    Il contributo delle filiere agro-alimentari alternative alla sostenibilità, un confronto tra il GAS di Pisa e la GDO.

    Get PDF
    In questo studio cercheremo di analizzare le filiere agro-alimentari alternative e capire se possono essere uno strumento efficace per uno sviluppo sostenibile e se sono veramente più sostenibili delle filiere convenzionali. Analizzeremo quali motivi hanno spinto alla loro nascita, e per quali motivi c’è stato negli ultimi anni un ripensamento della produzione agricola, dei consumi alimentari e dell’intero sistema economico. Andremo a vedere come si sono diffuse e come mai stanno avendo cosi tanto successo. Analizzeremo poi come funzionano queste iniziative, e le varie esperienze pratiche fatte finora comprese quelle intraprese in Toscana. Passeremo ad analizzare i potenziali effetti positivi e negativi delle filiere agro-alimentari corte rispetto a quelle convenzionali fino ad arrivare al nostro caso di studio per verificare in un caso specifico la differenza di impatto, con particolare riferimento alle emissioni di CO2 e al consumo di carburante per la sostenibilità ambientale; alla differenza tra i prezzi alla produzione e quelli al consumo tra le due filiere per la sostenibilità economica; e alla diversa attenzione ai problemi etici-sociali tra le due filiere per la sostenibilità sociale. L’obiettivo è verificare se le filiere agro-alimentari alternative sono più sostenibili delle filiere convenzionali lunghe. Per semplificare l’analisi e ristringere il campo di studio, abbiamo confrontato una filiera agro-alimentare alternativa, rappresentata dal GAS (Gruppo di acquisto solidale, riunisce più famiglie per l’acquisto collettivo di vari prodotti non solo alimentari) di Pisa con una filiera lunga rappresentata da una generica filiera della GDO. Questo studio non intende fornire dati precisi ed esaurienti sulla sostenibilità delle filiere alimentari alternative e di quelle convenzionali, sia per la difficoltà inerente alla complessità di questi sistemi, sia per la mancanza di alcune informazioni dettagliate sulle filiere. Ci accontenteremo di fornire un esempio di analisi che deve servire per dare un’idea indicativa delle possibili differenze che ci possono essere tra i due tipi di circuiti sia dal punto di vista logistico che per i diversi comportamenti di acquisto dei consumatori
    • …
    corecore